/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Generation.GenerationDynamics.impl;

import EA_Model.IEC61970.Domain.PU;
import EA_Model.IEC61970.Domain.Seconds;

import EA_Model.IEC61970.Generation.GenerationDynamics.BoilerControlMode;
import EA_Model.IEC61970.Generation.GenerationDynamics.FossilSteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Fossil Steam Supply</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getAuxPowerVersusFrequency <em>Aux Power Versus Frequency</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getAuxPowerVersusVoltage <em>Aux Power Versus Voltage</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getBoilerControlMode <em>Boiler Control Mode</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlErrorBiasP <em>Control Error Bias P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlIC <em>Control IC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlPC <em>Control PC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlPEB <em>Control PEB</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlPED <em>Control PED</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getControlTC <em>Control TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFeedWaterIG <em>Feed Water IG</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFeedWaterPG <em>Feed Water PG</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFeedWaterTC <em>Feed Water TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFuelDemandLimit <em>Fuel Demand Limit</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFuelSupplyDelay <em>Fuel Supply Delay</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getFuelSupplyTC <em>Fuel Supply TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getMaxErrorRateP <em>Max Error Rate P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getMechPowerSensorLag <em>Mech Power Sensor Lag</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getMinErrorRateP <em>Min Error Rate P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getPressureCtrlDG <em>Pressure Ctrl DG</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getPressureCtrlIG <em>Pressure Ctrl IG</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getPressureCtrlPG <em>Pressure Ctrl PG</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getPressureFeedback <em>Pressure Feedback</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getSuperHeater1Capacity <em>Super Heater1 Capacity</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getSuperHeater2Capacity <em>Super Heater2 Capacity</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getSuperHeaterPipePD <em>Super Heater Pipe PD</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.FossilSteamSupplyImpl#getThrottlePressureSP <em>Throttle Pressure SP</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class FossilSteamSupplyImpl extends SteamSupplyImpl implements FossilSteamSupply {
	/**
	 * The cached value of the '{@link #getAuxPowerVersusFrequency() <em>Aux Power Versus Frequency</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuxPowerVersusFrequency()
	 * @generated
	 * @ordered
	 */
	protected PU auxPowerVersusFrequency;

	/**
	 * The cached value of the '{@link #getAuxPowerVersusVoltage() <em>Aux Power Versus Voltage</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuxPowerVersusVoltage()
	 * @generated
	 * @ordered
	 */
	protected PU auxPowerVersusVoltage;

	/**
	 * The default value of the '{@link #getBoilerControlMode() <em>Boiler Control Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getBoilerControlMode()
	 * @generated
	 * @ordered
	 */
	protected static final BoilerControlMode BOILER_CONTROL_MODE_EDEFAULT = BoilerControlMode.FOLLOWING;

	/**
	 * The cached value of the '{@link #getBoilerControlMode() <em>Boiler Control Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getBoilerControlMode()
	 * @generated
	 * @ordered
	 */
	protected BoilerControlMode boilerControlMode = BOILER_CONTROL_MODE_EDEFAULT;

	/**
	 * The cached value of the '{@link #getControlErrorBiasP() <em>Control Error Bias P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlErrorBiasP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float controlErrorBiasP;

	/**
	 * The cached value of the '{@link #getControlIC() <em>Control IC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlIC()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float controlIC;

	/**
	 * The cached value of the '{@link #getControlPC() <em>Control PC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlPC()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float controlPC;

	/**
	 * The cached value of the '{@link #getControlPEB() <em>Control PEB</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlPEB()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float controlPEB;

	/**
	 * The cached value of the '{@link #getControlPED() <em>Control PED</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlPED()
	 * @generated
	 * @ordered
	 */
	protected PU controlPED;

	/**
	 * The cached value of the '{@link #getControlTC() <em>Control TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getControlTC()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float controlTC;

	/**
	 * The cached value of the '{@link #getFeedWaterIG() <em>Feed Water IG</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFeedWaterIG()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float feedWaterIG;

	/**
	 * The cached value of the '{@link #getFeedWaterPG() <em>Feed Water PG</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFeedWaterPG()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float feedWaterPG;

	/**
	 * The cached value of the '{@link #getFeedWaterTC() <em>Feed Water TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFeedWaterTC()
	 * @generated
	 * @ordered
	 */
	protected Seconds feedWaterTC;

	/**
	 * The cached value of the '{@link #getFuelDemandLimit() <em>Fuel Demand Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFuelDemandLimit()
	 * @generated
	 * @ordered
	 */
	protected PU fuelDemandLimit;

	/**
	 * The cached value of the '{@link #getFuelSupplyDelay() <em>Fuel Supply Delay</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFuelSupplyDelay()
	 * @generated
	 * @ordered
	 */
	protected Seconds fuelSupplyDelay;

	/**
	 * The cached value of the '{@link #getFuelSupplyTC() <em>Fuel Supply TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getFuelSupplyTC()
	 * @generated
	 * @ordered
	 */
	protected Seconds fuelSupplyTC;

	/**
	 * The cached value of the '{@link #getMaxErrorRateP() <em>Max Error Rate P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getMaxErrorRateP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float maxErrorRateP;

	/**
	 * The cached value of the '{@link #getMechPowerSensorLag() <em>Mech Power Sensor Lag</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getMechPowerSensorLag()
	 * @generated
	 * @ordered
	 */
	protected Seconds mechPowerSensorLag;

	/**
	 * The cached value of the '{@link #getMinErrorRateP() <em>Min Error Rate P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getMinErrorRateP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float minErrorRateP;

	/**
	 * The cached value of the '{@link #getPressureCtrlDG() <em>Pressure Ctrl DG</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureCtrlDG()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float pressureCtrlDG;

	/**
	 * The cached value of the '{@link #getPressureCtrlIG() <em>Pressure Ctrl IG</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureCtrlIG()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float pressureCtrlIG;

	/**
	 * The cached value of the '{@link #getPressureCtrlPG() <em>Pressure Ctrl PG</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureCtrlPG()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float pressureCtrlPG;

	/**
	 * The cached value of the '{@link #getPressureFeedback() <em>Pressure Feedback</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureFeedback()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Integer pressureFeedback;

	/**
	 * The cached value of the '{@link #getSuperHeater1Capacity() <em>Super Heater1 Capacity</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getSuperHeater1Capacity()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float superHeater1Capacity;

	/**
	 * The cached value of the '{@link #getSuperHeater2Capacity() <em>Super Heater2 Capacity</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getSuperHeater2Capacity()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float superHeater2Capacity;

	/**
	 * The cached value of the '{@link #getSuperHeaterPipePD() <em>Super Heater Pipe PD</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getSuperHeaterPipePD()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float superHeaterPipePD;

	/**
	 * The cached value of the '{@link #getThrottlePressureSP() <em>Throttle Pressure SP</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getThrottlePressureSP()
	 * @generated
	 * @ordered
	 */
	protected PU throttlePressureSP;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected FossilSteamSupplyImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return GenerationDynamicsPackage.Literals.FOSSIL_STEAM_SUPPLY;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getAuxPowerVersusFrequency() {
		if (auxPowerVersusFrequency != null && auxPowerVersusFrequency.eIsProxy()) {
			InternalEObject oldAuxPowerVersusFrequency = (InternalEObject)auxPowerVersusFrequency;
			auxPowerVersusFrequency = (PU)eResolveProxy(oldAuxPowerVersusFrequency);
			if (auxPowerVersusFrequency != oldAuxPowerVersusFrequency) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY, oldAuxPowerVersusFrequency, auxPowerVersusFrequency));
			}
		}
		return auxPowerVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetAuxPowerVersusFrequency() {
		return auxPowerVersusFrequency;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAuxPowerVersusFrequency(PU newAuxPowerVersusFrequency) {
		PU oldAuxPowerVersusFrequency = auxPowerVersusFrequency;
		auxPowerVersusFrequency = newAuxPowerVersusFrequency;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY, oldAuxPowerVersusFrequency, auxPowerVersusFrequency));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getAuxPowerVersusVoltage() {
		if (auxPowerVersusVoltage != null && auxPowerVersusVoltage.eIsProxy()) {
			InternalEObject oldAuxPowerVersusVoltage = (InternalEObject)auxPowerVersusVoltage;
			auxPowerVersusVoltage = (PU)eResolveProxy(oldAuxPowerVersusVoltage);
			if (auxPowerVersusVoltage != oldAuxPowerVersusVoltage) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE, oldAuxPowerVersusVoltage, auxPowerVersusVoltage));
			}
		}
		return auxPowerVersusVoltage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetAuxPowerVersusVoltage() {
		return auxPowerVersusVoltage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAuxPowerVersusVoltage(PU newAuxPowerVersusVoltage) {
		PU oldAuxPowerVersusVoltage = auxPowerVersusVoltage;
		auxPowerVersusVoltage = newAuxPowerVersusVoltage;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE, oldAuxPowerVersusVoltage, auxPowerVersusVoltage));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public BoilerControlMode getBoilerControlMode() {
		return boilerControlMode;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setBoilerControlMode(BoilerControlMode newBoilerControlMode) {
		BoilerControlMode oldBoilerControlMode = boilerControlMode;
		boilerControlMode = newBoilerControlMode == null ? BOILER_CONTROL_MODE_EDEFAULT : newBoilerControlMode;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE, oldBoilerControlMode, boilerControlMode));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getControlErrorBiasP() {
		if (controlErrorBiasP != null && controlErrorBiasP.eIsProxy()) {
			InternalEObject oldControlErrorBiasP = (InternalEObject)controlErrorBiasP;
			controlErrorBiasP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldControlErrorBiasP);
			if (controlErrorBiasP != oldControlErrorBiasP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P, oldControlErrorBiasP, controlErrorBiasP));
			}
		}
		return controlErrorBiasP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetControlErrorBiasP() {
		return controlErrorBiasP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlErrorBiasP(EA_Model.IEC61970.Domain.Float newControlErrorBiasP) {
		EA_Model.IEC61970.Domain.Float oldControlErrorBiasP = controlErrorBiasP;
		controlErrorBiasP = newControlErrorBiasP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P, oldControlErrorBiasP, controlErrorBiasP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getControlIC() {
		if (controlIC != null && controlIC.eIsProxy()) {
			InternalEObject oldControlIC = (InternalEObject)controlIC;
			controlIC = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldControlIC);
			if (controlIC != oldControlIC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC, oldControlIC, controlIC));
			}
		}
		return controlIC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetControlIC() {
		return controlIC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlIC(EA_Model.IEC61970.Domain.Float newControlIC) {
		EA_Model.IEC61970.Domain.Float oldControlIC = controlIC;
		controlIC = newControlIC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC, oldControlIC, controlIC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getControlPC() {
		if (controlPC != null && controlPC.eIsProxy()) {
			InternalEObject oldControlPC = (InternalEObject)controlPC;
			controlPC = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldControlPC);
			if (controlPC != oldControlPC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC, oldControlPC, controlPC));
			}
		}
		return controlPC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetControlPC() {
		return controlPC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlPC(EA_Model.IEC61970.Domain.Float newControlPC) {
		EA_Model.IEC61970.Domain.Float oldControlPC = controlPC;
		controlPC = newControlPC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC, oldControlPC, controlPC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getControlPEB() {
		if (controlPEB != null && controlPEB.eIsProxy()) {
			InternalEObject oldControlPEB = (InternalEObject)controlPEB;
			controlPEB = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldControlPEB);
			if (controlPEB != oldControlPEB) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB, oldControlPEB, controlPEB));
			}
		}
		return controlPEB;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetControlPEB() {
		return controlPEB;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlPEB(EA_Model.IEC61970.Domain.Float newControlPEB) {
		EA_Model.IEC61970.Domain.Float oldControlPEB = controlPEB;
		controlPEB = newControlPEB;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB, oldControlPEB, controlPEB));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getControlPED() {
		if (controlPED != null && controlPED.eIsProxy()) {
			InternalEObject oldControlPED = (InternalEObject)controlPED;
			controlPED = (PU)eResolveProxy(oldControlPED);
			if (controlPED != oldControlPED) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED, oldControlPED, controlPED));
			}
		}
		return controlPED;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetControlPED() {
		return controlPED;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlPED(PU newControlPED) {
		PU oldControlPED = controlPED;
		controlPED = newControlPED;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED, oldControlPED, controlPED));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getControlTC() {
		if (controlTC != null && controlTC.eIsProxy()) {
			InternalEObject oldControlTC = (InternalEObject)controlTC;
			controlTC = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldControlTC);
			if (controlTC != oldControlTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC, oldControlTC, controlTC));
			}
		}
		return controlTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetControlTC() {
		return controlTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setControlTC(EA_Model.IEC61970.Domain.Float newControlTC) {
		EA_Model.IEC61970.Domain.Float oldControlTC = controlTC;
		controlTC = newControlTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC, oldControlTC, controlTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getFeedWaterIG() {
		if (feedWaterIG != null && feedWaterIG.eIsProxy()) {
			InternalEObject oldFeedWaterIG = (InternalEObject)feedWaterIG;
			feedWaterIG = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldFeedWaterIG);
			if (feedWaterIG != oldFeedWaterIG) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG, oldFeedWaterIG, feedWaterIG));
			}
		}
		return feedWaterIG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetFeedWaterIG() {
		return feedWaterIG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFeedWaterIG(EA_Model.IEC61970.Domain.Float newFeedWaterIG) {
		EA_Model.IEC61970.Domain.Float oldFeedWaterIG = feedWaterIG;
		feedWaterIG = newFeedWaterIG;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG, oldFeedWaterIG, feedWaterIG));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getFeedWaterPG() {
		if (feedWaterPG != null && feedWaterPG.eIsProxy()) {
			InternalEObject oldFeedWaterPG = (InternalEObject)feedWaterPG;
			feedWaterPG = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldFeedWaterPG);
			if (feedWaterPG != oldFeedWaterPG) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG, oldFeedWaterPG, feedWaterPG));
			}
		}
		return feedWaterPG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetFeedWaterPG() {
		return feedWaterPG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFeedWaterPG(EA_Model.IEC61970.Domain.Float newFeedWaterPG) {
		EA_Model.IEC61970.Domain.Float oldFeedWaterPG = feedWaterPG;
		feedWaterPG = newFeedWaterPG;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG, oldFeedWaterPG, feedWaterPG));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getFeedWaterTC() {
		if (feedWaterTC != null && feedWaterTC.eIsProxy()) {
			InternalEObject oldFeedWaterTC = (InternalEObject)feedWaterTC;
			feedWaterTC = (Seconds)eResolveProxy(oldFeedWaterTC);
			if (feedWaterTC != oldFeedWaterTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC, oldFeedWaterTC, feedWaterTC));
			}
		}
		return feedWaterTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetFeedWaterTC() {
		return feedWaterTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFeedWaterTC(Seconds newFeedWaterTC) {
		Seconds oldFeedWaterTC = feedWaterTC;
		feedWaterTC = newFeedWaterTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC, oldFeedWaterTC, feedWaterTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getFuelDemandLimit() {
		if (fuelDemandLimit != null && fuelDemandLimit.eIsProxy()) {
			InternalEObject oldFuelDemandLimit = (InternalEObject)fuelDemandLimit;
			fuelDemandLimit = (PU)eResolveProxy(oldFuelDemandLimit);
			if (fuelDemandLimit != oldFuelDemandLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT, oldFuelDemandLimit, fuelDemandLimit));
			}
		}
		return fuelDemandLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetFuelDemandLimit() {
		return fuelDemandLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFuelDemandLimit(PU newFuelDemandLimit) {
		PU oldFuelDemandLimit = fuelDemandLimit;
		fuelDemandLimit = newFuelDemandLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT, oldFuelDemandLimit, fuelDemandLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getFuelSupplyDelay() {
		if (fuelSupplyDelay != null && fuelSupplyDelay.eIsProxy()) {
			InternalEObject oldFuelSupplyDelay = (InternalEObject)fuelSupplyDelay;
			fuelSupplyDelay = (Seconds)eResolveProxy(oldFuelSupplyDelay);
			if (fuelSupplyDelay != oldFuelSupplyDelay) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY, oldFuelSupplyDelay, fuelSupplyDelay));
			}
		}
		return fuelSupplyDelay;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetFuelSupplyDelay() {
		return fuelSupplyDelay;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFuelSupplyDelay(Seconds newFuelSupplyDelay) {
		Seconds oldFuelSupplyDelay = fuelSupplyDelay;
		fuelSupplyDelay = newFuelSupplyDelay;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY, oldFuelSupplyDelay, fuelSupplyDelay));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getFuelSupplyTC() {
		if (fuelSupplyTC != null && fuelSupplyTC.eIsProxy()) {
			InternalEObject oldFuelSupplyTC = (InternalEObject)fuelSupplyTC;
			fuelSupplyTC = (Seconds)eResolveProxy(oldFuelSupplyTC);
			if (fuelSupplyTC != oldFuelSupplyTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC, oldFuelSupplyTC, fuelSupplyTC));
			}
		}
		return fuelSupplyTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetFuelSupplyTC() {
		return fuelSupplyTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setFuelSupplyTC(Seconds newFuelSupplyTC) {
		Seconds oldFuelSupplyTC = fuelSupplyTC;
		fuelSupplyTC = newFuelSupplyTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC, oldFuelSupplyTC, fuelSupplyTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getMaxErrorRateP() {
		if (maxErrorRateP != null && maxErrorRateP.eIsProxy()) {
			InternalEObject oldMaxErrorRateP = (InternalEObject)maxErrorRateP;
			maxErrorRateP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldMaxErrorRateP);
			if (maxErrorRateP != oldMaxErrorRateP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P, oldMaxErrorRateP, maxErrorRateP));
			}
		}
		return maxErrorRateP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetMaxErrorRateP() {
		return maxErrorRateP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setMaxErrorRateP(EA_Model.IEC61970.Domain.Float newMaxErrorRateP) {
		EA_Model.IEC61970.Domain.Float oldMaxErrorRateP = maxErrorRateP;
		maxErrorRateP = newMaxErrorRateP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P, oldMaxErrorRateP, maxErrorRateP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getMechPowerSensorLag() {
		if (mechPowerSensorLag != null && mechPowerSensorLag.eIsProxy()) {
			InternalEObject oldMechPowerSensorLag = (InternalEObject)mechPowerSensorLag;
			mechPowerSensorLag = (Seconds)eResolveProxy(oldMechPowerSensorLag);
			if (mechPowerSensorLag != oldMechPowerSensorLag) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG, oldMechPowerSensorLag, mechPowerSensorLag));
			}
		}
		return mechPowerSensorLag;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetMechPowerSensorLag() {
		return mechPowerSensorLag;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setMechPowerSensorLag(Seconds newMechPowerSensorLag) {
		Seconds oldMechPowerSensorLag = mechPowerSensorLag;
		mechPowerSensorLag = newMechPowerSensorLag;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG, oldMechPowerSensorLag, mechPowerSensorLag));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getMinErrorRateP() {
		if (minErrorRateP != null && minErrorRateP.eIsProxy()) {
			InternalEObject oldMinErrorRateP = (InternalEObject)minErrorRateP;
			minErrorRateP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldMinErrorRateP);
			if (minErrorRateP != oldMinErrorRateP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P, oldMinErrorRateP, minErrorRateP));
			}
		}
		return minErrorRateP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetMinErrorRateP() {
		return minErrorRateP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setMinErrorRateP(EA_Model.IEC61970.Domain.Float newMinErrorRateP) {
		EA_Model.IEC61970.Domain.Float oldMinErrorRateP = minErrorRateP;
		minErrorRateP = newMinErrorRateP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P, oldMinErrorRateP, minErrorRateP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getPressureCtrlDG() {
		if (pressureCtrlDG != null && pressureCtrlDG.eIsProxy()) {
			InternalEObject oldPressureCtrlDG = (InternalEObject)pressureCtrlDG;
			pressureCtrlDG = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldPressureCtrlDG);
			if (pressureCtrlDG != oldPressureCtrlDG) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG, oldPressureCtrlDG, pressureCtrlDG));
			}
		}
		return pressureCtrlDG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetPressureCtrlDG() {
		return pressureCtrlDG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureCtrlDG(EA_Model.IEC61970.Domain.Float newPressureCtrlDG) {
		EA_Model.IEC61970.Domain.Float oldPressureCtrlDG = pressureCtrlDG;
		pressureCtrlDG = newPressureCtrlDG;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG, oldPressureCtrlDG, pressureCtrlDG));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getPressureCtrlIG() {
		if (pressureCtrlIG != null && pressureCtrlIG.eIsProxy()) {
			InternalEObject oldPressureCtrlIG = (InternalEObject)pressureCtrlIG;
			pressureCtrlIG = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldPressureCtrlIG);
			if (pressureCtrlIG != oldPressureCtrlIG) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG, oldPressureCtrlIG, pressureCtrlIG));
			}
		}
		return pressureCtrlIG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetPressureCtrlIG() {
		return pressureCtrlIG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureCtrlIG(EA_Model.IEC61970.Domain.Float newPressureCtrlIG) {
		EA_Model.IEC61970.Domain.Float oldPressureCtrlIG = pressureCtrlIG;
		pressureCtrlIG = newPressureCtrlIG;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG, oldPressureCtrlIG, pressureCtrlIG));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getPressureCtrlPG() {
		if (pressureCtrlPG != null && pressureCtrlPG.eIsProxy()) {
			InternalEObject oldPressureCtrlPG = (InternalEObject)pressureCtrlPG;
			pressureCtrlPG = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldPressureCtrlPG);
			if (pressureCtrlPG != oldPressureCtrlPG) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG, oldPressureCtrlPG, pressureCtrlPG));
			}
		}
		return pressureCtrlPG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetPressureCtrlPG() {
		return pressureCtrlPG;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureCtrlPG(EA_Model.IEC61970.Domain.Float newPressureCtrlPG) {
		EA_Model.IEC61970.Domain.Float oldPressureCtrlPG = pressureCtrlPG;
		pressureCtrlPG = newPressureCtrlPG;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG, oldPressureCtrlPG, pressureCtrlPG));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Integer getPressureFeedback() {
		if (pressureFeedback != null && pressureFeedback.eIsProxy()) {
			InternalEObject oldPressureFeedback = (InternalEObject)pressureFeedback;
			pressureFeedback = (EA_Model.IEC61970.Domain.Integer)eResolveProxy(oldPressureFeedback);
			if (pressureFeedback != oldPressureFeedback) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK, oldPressureFeedback, pressureFeedback));
			}
		}
		return pressureFeedback;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Integer basicGetPressureFeedback() {
		return pressureFeedback;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureFeedback(EA_Model.IEC61970.Domain.Integer newPressureFeedback) {
		EA_Model.IEC61970.Domain.Integer oldPressureFeedback = pressureFeedback;
		pressureFeedback = newPressureFeedback;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK, oldPressureFeedback, pressureFeedback));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getSuperHeater1Capacity() {
		if (superHeater1Capacity != null && superHeater1Capacity.eIsProxy()) {
			InternalEObject oldSuperHeater1Capacity = (InternalEObject)superHeater1Capacity;
			superHeater1Capacity = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldSuperHeater1Capacity);
			if (superHeater1Capacity != oldSuperHeater1Capacity) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY, oldSuperHeater1Capacity, superHeater1Capacity));
			}
		}
		return superHeater1Capacity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetSuperHeater1Capacity() {
		return superHeater1Capacity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setSuperHeater1Capacity(EA_Model.IEC61970.Domain.Float newSuperHeater1Capacity) {
		EA_Model.IEC61970.Domain.Float oldSuperHeater1Capacity = superHeater1Capacity;
		superHeater1Capacity = newSuperHeater1Capacity;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY, oldSuperHeater1Capacity, superHeater1Capacity));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getSuperHeater2Capacity() {
		if (superHeater2Capacity != null && superHeater2Capacity.eIsProxy()) {
			InternalEObject oldSuperHeater2Capacity = (InternalEObject)superHeater2Capacity;
			superHeater2Capacity = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldSuperHeater2Capacity);
			if (superHeater2Capacity != oldSuperHeater2Capacity) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY, oldSuperHeater2Capacity, superHeater2Capacity));
			}
		}
		return superHeater2Capacity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetSuperHeater2Capacity() {
		return superHeater2Capacity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setSuperHeater2Capacity(EA_Model.IEC61970.Domain.Float newSuperHeater2Capacity) {
		EA_Model.IEC61970.Domain.Float oldSuperHeater2Capacity = superHeater2Capacity;
		superHeater2Capacity = newSuperHeater2Capacity;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY, oldSuperHeater2Capacity, superHeater2Capacity));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getSuperHeaterPipePD() {
		if (superHeaterPipePD != null && superHeaterPipePD.eIsProxy()) {
			InternalEObject oldSuperHeaterPipePD = (InternalEObject)superHeaterPipePD;
			superHeaterPipePD = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldSuperHeaterPipePD);
			if (superHeaterPipePD != oldSuperHeaterPipePD) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD, oldSuperHeaterPipePD, superHeaterPipePD));
			}
		}
		return superHeaterPipePD;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetSuperHeaterPipePD() {
		return superHeaterPipePD;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setSuperHeaterPipePD(EA_Model.IEC61970.Domain.Float newSuperHeaterPipePD) {
		EA_Model.IEC61970.Domain.Float oldSuperHeaterPipePD = superHeaterPipePD;
		superHeaterPipePD = newSuperHeaterPipePD;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD, oldSuperHeaterPipePD, superHeaterPipePD));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getThrottlePressureSP() {
		if (throttlePressureSP != null && throttlePressureSP.eIsProxy()) {
			InternalEObject oldThrottlePressureSP = (InternalEObject)throttlePressureSP;
			throttlePressureSP = (PU)eResolveProxy(oldThrottlePressureSP);
			if (throttlePressureSP != oldThrottlePressureSP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP, oldThrottlePressureSP, throttlePressureSP));
			}
		}
		return throttlePressureSP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetThrottlePressureSP() {
		return throttlePressureSP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setThrottlePressureSP(PU newThrottlePressureSP) {
		PU oldThrottlePressureSP = throttlePressureSP;
		throttlePressureSP = newThrottlePressureSP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP, oldThrottlePressureSP, throttlePressureSP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY:
				if (resolve) return getAuxPowerVersusFrequency();
				return basicGetAuxPowerVersusFrequency();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE:
				if (resolve) return getAuxPowerVersusVoltage();
				return basicGetAuxPowerVersusVoltage();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE:
				return getBoilerControlMode();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P:
				if (resolve) return getControlErrorBiasP();
				return basicGetControlErrorBiasP();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC:
				if (resolve) return getControlIC();
				return basicGetControlIC();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC:
				if (resolve) return getControlPC();
				return basicGetControlPC();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB:
				if (resolve) return getControlPEB();
				return basicGetControlPEB();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED:
				if (resolve) return getControlPED();
				return basicGetControlPED();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC:
				if (resolve) return getControlTC();
				return basicGetControlTC();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG:
				if (resolve) return getFeedWaterIG();
				return basicGetFeedWaterIG();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG:
				if (resolve) return getFeedWaterPG();
				return basicGetFeedWaterPG();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC:
				if (resolve) return getFeedWaterTC();
				return basicGetFeedWaterTC();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT:
				if (resolve) return getFuelDemandLimit();
				return basicGetFuelDemandLimit();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY:
				if (resolve) return getFuelSupplyDelay();
				return basicGetFuelSupplyDelay();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC:
				if (resolve) return getFuelSupplyTC();
				return basicGetFuelSupplyTC();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P:
				if (resolve) return getMaxErrorRateP();
				return basicGetMaxErrorRateP();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG:
				if (resolve) return getMechPowerSensorLag();
				return basicGetMechPowerSensorLag();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P:
				if (resolve) return getMinErrorRateP();
				return basicGetMinErrorRateP();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG:
				if (resolve) return getPressureCtrlDG();
				return basicGetPressureCtrlDG();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG:
				if (resolve) return getPressureCtrlIG();
				return basicGetPressureCtrlIG();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG:
				if (resolve) return getPressureCtrlPG();
				return basicGetPressureCtrlPG();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK:
				if (resolve) return getPressureFeedback();
				return basicGetPressureFeedback();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY:
				if (resolve) return getSuperHeater1Capacity();
				return basicGetSuperHeater1Capacity();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY:
				if (resolve) return getSuperHeater2Capacity();
				return basicGetSuperHeater2Capacity();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD:
				if (resolve) return getSuperHeaterPipePD();
				return basicGetSuperHeaterPipePD();
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP:
				if (resolve) return getThrottlePressureSP();
				return basicGetThrottlePressureSP();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY:
				setAuxPowerVersusFrequency((PU)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE:
				setAuxPowerVersusVoltage((PU)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE:
				setBoilerControlMode((BoilerControlMode)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P:
				setControlErrorBiasP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC:
				setControlIC((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC:
				setControlPC((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB:
				setControlPEB((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED:
				setControlPED((PU)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC:
				setControlTC((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG:
				setFeedWaterIG((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG:
				setFeedWaterPG((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC:
				setFeedWaterTC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT:
				setFuelDemandLimit((PU)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY:
				setFuelSupplyDelay((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC:
				setFuelSupplyTC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P:
				setMaxErrorRateP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG:
				setMechPowerSensorLag((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P:
				setMinErrorRateP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG:
				setPressureCtrlDG((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG:
				setPressureCtrlIG((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG:
				setPressureCtrlPG((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK:
				setPressureFeedback((EA_Model.IEC61970.Domain.Integer)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY:
				setSuperHeater1Capacity((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY:
				setSuperHeater2Capacity((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD:
				setSuperHeaterPipePD((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP:
				setThrottlePressureSP((PU)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY:
				setAuxPowerVersusFrequency((PU)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE:
				setAuxPowerVersusVoltage((PU)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE:
				setBoilerControlMode(BOILER_CONTROL_MODE_EDEFAULT);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P:
				setControlErrorBiasP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC:
				setControlIC((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC:
				setControlPC((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB:
				setControlPEB((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED:
				setControlPED((PU)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC:
				setControlTC((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG:
				setFeedWaterIG((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG:
				setFeedWaterPG((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC:
				setFeedWaterTC((Seconds)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT:
				setFuelDemandLimit((PU)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY:
				setFuelSupplyDelay((Seconds)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC:
				setFuelSupplyTC((Seconds)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P:
				setMaxErrorRateP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG:
				setMechPowerSensorLag((Seconds)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P:
				setMinErrorRateP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG:
				setPressureCtrlDG((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG:
				setPressureCtrlIG((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG:
				setPressureCtrlPG((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK:
				setPressureFeedback((EA_Model.IEC61970.Domain.Integer)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY:
				setSuperHeater1Capacity((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY:
				setSuperHeater2Capacity((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD:
				setSuperHeaterPipePD((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP:
				setThrottlePressureSP((PU)null);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY:
				return auxPowerVersusFrequency != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE:
				return auxPowerVersusVoltage != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE:
				return boilerControlMode != BOILER_CONTROL_MODE_EDEFAULT;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P:
				return controlErrorBiasP != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_IC:
				return controlIC != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PC:
				return controlPC != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PEB:
				return controlPEB != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_PED:
				return controlPED != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__CONTROL_TC:
				return controlTC != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_IG:
				return feedWaterIG != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_PG:
				return feedWaterPG != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FEED_WATER_TC:
				return feedWaterTC != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT:
				return fuelDemandLimit != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY:
				return fuelSupplyDelay != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC:
				return fuelSupplyTC != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P:
				return maxErrorRateP != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG:
				return mechPowerSensorLag != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P:
				return minErrorRateP != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG:
				return pressureCtrlDG != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG:
				return pressureCtrlIG != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG:
				return pressureCtrlPG != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK:
				return pressureFeedback != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY:
				return superHeater1Capacity != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY:
				return superHeater2Capacity != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD:
				return superHeaterPipePD != null;
			case GenerationDynamicsPackage.FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP:
				return throttlePressureSP != null;
		}
		return super.eIsSet(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		if (eIsProxy()) return super.toString();

		StringBuffer result = new StringBuffer(super.toString());
		result.append(" (boilerControlMode: ");
		result.append(boilerControlMode);
		result.append(')');
		return result.toString();
	}

} //FossilSteamSupplyImpl
